From: Jasper St. Pierre Date: Sat, 26 Feb 2011 14:25:11 +0000 (-0500) Subject: telepathyClient: Add support for aliases on the self-contact X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~8671 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=6ff69da0deca3f595d3592ff27bd96b15ea2797a;p=gnome-shell.git telepathyClient: Add support for aliases on the self-contact Upgrade the connection's self contact to allow aliases, so that we don't show the internal telepathy identifier anywhere user-visible. https://bugzilla.gnome.org/show_bug.cgi?id=642793 --- diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index 4056679d9..89a1861b1 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -68,7 +68,22 @@ Client.prototype = { _observeChannels: function(observer, account, conn, channels, dispatchOp, requests, context) { - let connPath = conn.get_object_path(); + // If the self_contact doesn't have the ALIAS, make sure + // to fetch it before trying to grab the channels. + let self_contact = conn.get_self_contact(); + if (self_contact.has_feature(Tp.ContactFeature.ALIAS)) { + this._finishObserveChannels(account, conn, channels, context); + } else { + Shell.get_self_contact_features(conn, + contactFeatures.length, contactFeatures, + Lang.bind(this, function() { + this._finishObserveChannels(account, conn, channels, context); + })); + context.delay(); + } + }, + + _finishObserveChannels: function(account, conn, channels, context) { let len = channels.length; for (let i = 0; i < len; i++) { let channel = channels[i]; @@ -91,7 +106,6 @@ Client.prototype = { }), null); } - // Allow dbus method to return context.accept(); },